home *** CD-ROM | disk | FTP | other *** search
/ Macworld Expo - Develope…Central & Net Innovations / Developer Central and Net Innovators (MacWorld Expo) (January 1999).iso / Developer Central / Bowers Development / Demo AppMaker / Examples / C⁄C++ OS8 / Everything / EverythingDoc.cp < prev    next >
Encoding:
Text File  |  1998-09-06  |  3.4 KB  |  215 lines  |  [TEXT/CWIE]

  1. // EverythingDoc.cp -- document-level functions
  2.  
  3. #include <Types.h>
  4. #include <Events.h>
  5. #include <Menus.h>
  6. #include "Globals.h"
  7. #include "ResourceDefs.h"
  8. #include "Miscellany.h"
  9. #include "EverythingEngine.h"
  10.  
  11. #include "ModalButtons.h"
  12. #include "ModalCheckboxes.h"
  13. #include "ModalRadios.h"
  14. #include "ModalText.h"
  15. #include "ModalStuff.h"
  16. #include "ModalBars.h"
  17. #include "DDocData.h"
  18. #include "Buttons.h"
  19. #include "DDocData.h"
  20. #include "Checkboxes.h"
  21. #include "DDocData.h"
  22. #include "Radios.h"
  23. #include "DDocData.h"
  24. #include "EditText.h"
  25. #include "DDocData.h"
  26. #include "Stuff.h"
  27. #include "DDocData.h"
  28. #include "Bars.h"
  29. #include "EverythingDoc.h"
  30.  
  31. //----------
  32. EverythingDoc::EverythingDoc ()
  33. {
  34.     mEngine = new EverythingEngine;
  35.  
  36.     mButtonsPtr = nil;
  37.     mCheckboxesPtr = nil;
  38.     mRadiosPtr = nil;
  39.     mEditTextPtr = nil;
  40.     mStuffPtr = nil;
  41.     mBarsPtr = nil;
  42. }
  43.  
  44. //----------
  45. EverythingDoc::~EverythingDoc ()
  46. {
  47. }
  48.  
  49. //----------
  50. EverythingEngine*        EverythingDoc::GetEngine ()
  51. {
  52.     return (EverythingEngine*) mEngine;
  53. }
  54.  
  55. //----------
  56. void    EverythingDoc::OpenWindows ()
  57. {
  58.     EverythingEngine*        engine = GetEngine ();
  59.     DDocData*        docData = engine->GetDocData ();
  60.  
  61.     Buttons::Create (this, docData);
  62.     Checkboxes::Create (this, docData);
  63.     Radios::Create (this, docData);
  64.     EditText::Create (this, docData);
  65.     Stuff::Create (this, docData);
  66.     Bars::Create (this, docData);
  67. }
  68.  
  69. //----------
  70. Boolean        EverythingDoc::WouldCloseDoc (
  71.     WindowPtr        windPtr)
  72. {
  73.     short        numOpen = 0;
  74.  
  75.     if (mButtonsPtr != nil)        numOpen++;
  76.     if (mCheckboxesPtr != nil)        numOpen++;
  77.     if (mRadiosPtr != nil)        numOpen++;
  78.     if (mEditTextPtr != nil)        numOpen++;
  79.     if (mStuffPtr != nil)        numOpen++;
  80.     if (mBarsPtr != nil)        numOpen++;
  81.  
  82.     return (numOpen <= 1);
  83. }
  84.  
  85. //----------
  86. void    EverythingDoc::DoModalButtons ()
  87. {
  88.     if (CModalButtons::GetModalButtons ()) {
  89.  
  90.         // post-invoke code
  91.     }
  92. }
  93.  
  94. //----------
  95. void    EverythingDoc::DoModalCheckboxes ()
  96. {
  97.     DModalCheckboxesData        data;
  98.  
  99.  
  100.     // pre-invoke code
  101.  
  102.     if (CModalCheckboxes::GetModalCheckboxes (&data)) {
  103.  
  104.         // post-invoke code
  105.  
  106.     }
  107. }
  108.  
  109. //----------
  110. void    EverythingDoc::DoModalRadios ()
  111. {
  112.     DModalRadiosData        data;
  113.  
  114.  
  115.     // pre-invoke code
  116.  
  117.     if (CModalRadios::GetModalRadios (&data)) {
  118.  
  119.         // post-invoke code
  120.  
  121.     }
  122. }
  123.  
  124. //----------
  125. void    EverythingDoc::DoModalText ()
  126. {
  127.     DModalTextData        data;
  128.  
  129.  
  130.     // pre-invoke code
  131.  
  132.     if (CModalText::GetModalText (&data)) {
  133.  
  134.         // post-invoke code
  135.  
  136.     }
  137. }
  138.  
  139. //----------
  140. void    EverythingDoc::DoModalStuff ()
  141. {
  142.     DModalStuffData        data;
  143.  
  144.  
  145.     // pre-invoke code
  146.  
  147.     if (CModalStuff::GetModalStuff (&data)) {
  148.  
  149.         // post-invoke code
  150.  
  151.     }
  152. }
  153.  
  154. //----------
  155. void    EverythingDoc::DoModalMoreStuff ()
  156. {
  157.     DModalBarsData        data;
  158.  
  159.  
  160.     // pre-invoke code
  161.  
  162.     if (CModalBars::GetModalBars (&data)) {
  163.  
  164.         // post-invoke code
  165.  
  166.     }
  167. }
  168.  
  169. //----------
  170. Boolean        EverythingDoc::DoCommand (
  171.     long        inCommand)
  172. {
  173.     Boolean        result = true;
  174.  
  175.     switch (inCommand) {
  176.         case cmdSave:
  177.                 DoSave ();
  178.             break;
  179.         case cmdSaveAs:
  180.                 DoSaveAs ();
  181.             break;
  182.         case cmdRevert:
  183.                 DoRevert ();
  184.             break;
  185.         case cmdPageSetup:
  186.                 DoPageSetup ();
  187.             break;
  188.         case cmdPrint:
  189.                 DoPrint ();
  190.             break;
  191.         case cmdModalButtons:
  192.                 DoModalButtons ();
  193.             break;
  194.         case cmdModalCheckboxes:
  195.                 DoModalCheckboxes ();
  196.             break;
  197.         case cmdModalRadios:
  198.                 DoModalRadios ();
  199.             break;
  200.         case cmdModalText:
  201.                 DoModalText ();
  202.             break;
  203.         case cmdModalStuff:
  204.                 DoModalStuff ();
  205.             break;
  206.         case cmdModalMoreStuff:
  207.                 DoModalMoreStuff ();
  208.             break;
  209.  
  210.         default:
  211.                 result = false;
  212.     } // switch
  213.     return result;
  214. }
  215.